/**
 * 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。
给出两个整数 x 和 y，计算它们之间的汉明距离。
注意： 0 ≤ x, y < 231. 示例:
输入: x = 1, y = 4
输出: 2
解释

1 (0 0 0 1)
4 (0 1 0 0)
     ↑   ↑
上面的箭头指出了对应二进制位不同的位置。

010001 与 100000 之间的汉明距离是 3
 */
var func = function (x, y) {
    var sum = x ^ y; //使用异或，异或是位运算，同位相同时为0，不同为1
    let res = sum.toString(2).match(/1/g);
    // console.log(res);
    return res.length;
};

// console.log(func(1, 4)); // 2
// console.log(func(1, 8)); // 2
// console.log(func(1, 100)); // 4

// var x = parseInt('010001', 2); // 17
// console.log(x);
// var y = parseInt('100000', 2); //32
// console.log(y);

console.log(func(17, 32)); // 3